In recent years, determination of the geographic position of an object, equipment or a person carrying the equipment has become more and more interesting in many fields of application. One approach to solve the positioning is to use signals emitted from satellites to determine a position. Well-known examples of such systems are the Global Positioning System (GPS) [1] and the coming GALILEO system. The position is given with respect to a specified coordinate system as a triangulation/trilateration based on a plurality of received satellite signals.
Assisted GPS (AGPS) [2] has been developed to facilitate integration of GPS receivers into mobile terminals (also referred to as user equipment, mobile stations, mobile nodes etc.) of cellular communication systems. Assisted GPS in general aims at improving the performance of GPS receivers in many different respects, including detection sensitivity, time to obtain a location estimate, accuracy and saving battery power. This is done by moving some functionality from the GPS receiver in the mobile station to the network and hence only performing a subset of the GPS tasks in the GPS receiver itself.
A stand-alone GPS receiver can obtain full locking to GPS satellite signals without having any other information about the system except the nominal carrier frequency and the rules by which data carried by the signals are modulated. Such a receiver measures ranging signals transmitted by a number of satellites (normally four). The signals include a so-called Coarse/Acquisition (C/A) code that is unique for each satellite and repeats itself every 1 ms. Superimposed on the C/A code is a navigation data bit stream with a bit period of 20 ms. The navigation data includes parameters that enable calculation of the satellite position at the time of transmission as well as parameters describing the offset of the satellite clocks. A stand-alone GPS receiver normally needs to decode the complete navigation data stream before the receiver location can be calculated. This may take quite a long time and requires a certain minimum signal strength. The receiver can determine the boundaries of the C/A code at a much lower signal strength than the one required to decode the navigation messages.
To facilitate positioning of GPS-equipped mobile terminals, with AGPS the navigation data is instead sent as assistance data on a faster and more reliable communication link, e.g. a wireless communication link between base station and mobile terminal. The assistance data typically also include an approximate GPS system time and an approximate location of the mobile terminal. (Depending on the mode of operation, the mobile terminal may instead receive a set of parameters that enables faster determining of the C/A code boundaries.)
There are two types of AGPS, mobile station based and mobile station assisted. In mobile station based AGPS, the location of a mobile station is calculated in the mobile station using ranging signal measurement results determined by the mobile station together with assistance data provided by the network. In mobile station assisted AGPS (sometimes called network based AGPS), the mobile station performs measurements of the received ranging signals and reports measurement results to a location server in the network (from which the mobile terminal also receives assistance data). Based on the reported measurement results and a priori information on where the mobile station is located, the location server calculates the location of the mobile station.
Well-known prior-art methods for calculating the location of GPS-equipped mobile terminals using mobile station assisted AGPS generally depend on reported measurement results comprising (truncated) pseudoranges to the satellites as well as the mobile terminal clock reading at signal reception (tu). However, there may be cases where tu is not reported at all or is reported erroneously. Although the mobile terminal according to the currently prevailing standard for AGPS has to report tu, future standards may very well allow optional solutions.
There are alternative solutions, in which the time of transmission from the respective satellites (tti) is determined in several stages. First, the submillisecond part of tti is determined by finding the boundaries of the C/A codes for each satellite, whereby correlators that test all possible code phase and Doppler shifts are used. Thereafter, the millisecond part of tti is reconstructed. This normally requires that the received data is despread, leaving raw navigation databits. Reconstruction of TOW (Time of week) is then performed using one of several alternative techniques, for example Direct demodulation of TOW, TOW Reconstruction by correlation techniques or Real-time clocks. Whatever method is used, the mobile supporting mobile station assisted AGPS is subsequently required to compensate for the propagation delay and hence report the approximate GPS system time at time of measurement. The compensation can be done e.g. based on some information elements provided as assistance data.
The requirement to reconstruct the GPS network time of measurement implies that the positioning will at best work down to around −179 dBW. Another drawback is that this kind of reconstruction is rather time consuming. It will often take 8s until the necessary navigation data bits have been received.
U.S. Pat. No. 6,430,415 describes an approach for dealing with situations where the mobile terminal does not know the GPS network time. The approximate time of a satellite measurement is time stamped. The difference between true GPS network time and this measurement time is treated as an unknown in subsequent computations of the mobile terminal location. This requires one additional satellite measurement, i.e. five satellite measurements instead of the four used in conventional positioning methods.
The prior-art solutions for satellite-based positioning of mobile terminals are generally associated with limitations in performance or precision and/or require complicated calculations. There is a need for an improved positioning mechanism and in particular for an appropriate error correction in the positioning.